package com.meter.data.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;
import com.meter.common.annotation.Excel;
import javax.validation.constraints.NotBlank;
import com.meter.common.core.domain.BaseEntity;

/**
 * 热采集数据对象 meter_data
 * 
 * @author ruoyi
 * @date 2024-10-05
 */
@Data
@Accessors(chain = true)
@TableName("meter_data")
public class MeterData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    @TableId(type = IdType.AUTO)
    private Long recordId;

    @TableField(exist = false)
    private Long houseId;

    @TableField(exist = false)
    private String houseName;

    /** 热表id */
    @NotBlank(message = "热表id不能为空")
    @Excel(name = "热表id")
    private Long meterId;

    @TableField(exist = false)
    private String meterNo;

    /** 上次累计热量 */
    @Excel(name = "上次累计热量")
    private Double lastHeat;

    /** 累计热量 */
    @Excel(name = "累计热量")
    private Double heat;

    /** 累计用热量 */
    @Excel(name = "累计用热量")
    private Double useHeat;

    /** 上次累计流量 */
    @Excel(name = "上次累计流量")
    private Double lastFlow;

    /** 累计流量 */
    @Excel(name = "累计流量")
    private Double flow;

    /** 累计用量 */
    @Excel(name = "累计用量")
    private Double useFlow;

    /** 当前功率 */
    @Excel(name = "当前功率")
    private Double power;

    /** 瞬时流量 */
    @Excel(name = "瞬时流量")
    private Double instant;

    /** 进水温度 */
    @Excel(name = "进水温度")
    private Double inlet;

    /** 出水温度 */
    @Excel(name = "出水温度")
    private Double outlet;

    /** 工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作时间")
    private String workTime;

    /** 热表时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "热表时间")
    private String meterTime;

    /** 采集时间 */
    private Date readingTime;

    /** 控制指令 */
    @Excel(name = "控制指令")
    private String controlOrder;

    /** 返回指令 */
    @Excel(name = "返回指令")
    private String returnOrder;

    private String returnFlag;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    @TableField(exist = false)
    private String meterFactory;
}
